Visualizations are known data structures which contain suitable logic, which, when applied by a rendering application to render a data set of connected data points, create a graphics object, such as a chart, in a particular format. Such graphics objects are referred to in the art as network diagrams or node-link diagrams.
Examples of different data sets of connected data points suitable for visualization may include: an employee organisation chart; a computer or telecommunications network diagram; a chart of social network user relationships; and a protein interaction diagram. Once a visualization has been created, the rendered data points may then be displayed on a display screen. In a modern cognitive application, it may be desirable that the user at runtime is able to flexibly select what data to render and how to render it. That is to say, both the fetching at runtime as well as the determination of the rendering at runtime should both be flexible and work together seamlessly.
A rendering application for this purpose may include a data retrieval part which has suitable logic for fetching a data set to be rendered from a data source, such as a server, where it is stored. Moreover, a rendering application of this kind may render the retrieved data set according to the desired visualization, wherein visualizations may be classified by visualization type, e.g. according to the examples listed above.
When it is desired to add a new visualization type to the rendering application's list of supported visualization types, the data retrieval logic and the visualization logic may, in general, need to be updated. If a visualization type has very specific data requirements, the amount of change to the data retrieval logic can be significant. For example, adding a network diagram to a rendering application that is already configured to handle bar and line charts may require both the visualization and the data retrieval part to retrieve additional data in order to be able to correctly connect the data points (or nodes) contained in the retrieved data so as to create the desired graphics object. Moreover, some visualization types, such as network-oriented chart types, may need to access different data sources to fetch the additional data, e.g. a network diagram and an organisation chart may be stored in different data sources, so that the data retrieval logic may also need to be updated.